Telegram Group & Telegram Channel
Combining Induction and Transduction for Abstract Reasoning [2024]

В прошлом посте про ARC я расссказал про решение, которая даёт 62% в комбинации с так называемым синтезатором программ. Сегодня мы поговорим о том, что это за зверь.

Авторы рассматривают 2 подхода к решению ARC:

1) Transduction - это когда у нас есть нейросеть, получающая на вход тренировочные пары вход-выход + тестовый вход и предсказывающая тестовый выход - такую модель мы как раз и видели в тот раз.
2) Induction - получая на вход тренировочные пары вход-выход, мы генерируем программу на питоне, превращающую вход в выход. Затем мы применяем её на тестовом входе

Итак, начнём с того, как авторы собирали датасет для Induction-модели.

Сначала авторы собирают вручную так называемый seed-датасет - это 100 ARC-задач, для которых вручную написаны программы на питоне, а также текстовые описания этих задач. Далее GPT-4 просят наплодить большой датасет синтетических задач, рекомбинируя описания и код изначальных ста.

На таких данных можно делать нечто похожее на обучение задачкам по программированию: дообучаем LLM по задаче гененировать питон код, а во время инференса генерируем много программ-кандидатов, которые потом можно фильтровать, проверяя на тренировочных парах.

Интересный сюжетный поворот - задачи, которые решают Transduction и Induction-модели, даже если их учить на одних и тех же сетах задач, пересекаются далеко не полностью. В самом топовом запуске Induction набирает 38%, Transduction 43%. а их ансамбль аж 57%. Авторы проверили, что это не результат случайной инициализации.

Ансамблировать их, кстати, можно и вслепую - если Induction-модель не сгененировала ни одну программу, которая подходит под тренировочные примеры, мы в качестве решения выдаём Transduction-кандидата.

Интересно понять - откуда берётся такое отличие в решаемых задачах у 2 подходов, даже если их учат на одном и том же? Немножко пролить на это свет помогает Ablation на задачах из ConceptARC - упрощённом датасете, в котором применяется одна "абстрактная концепция".

Например, программный синтезатор сильно лучше справляется с извлечением объектов и подсчётом, тогда как трансдуктор лучше в раскрасках и чём-то подобном. Примеры задач, приведённые автором, я прикрепил к посту.

Статья интересная, правда, есть те же опасения по поводу утечки задач через эту самую синтетику. Маленькая версия их модели, которую они засабмитили в настоящий тест, дала 18% через Transduction и только 4% через Induction (ансамбль дал 19%, SOTA = 55.5%) - это может говорить о том, что базовые операции сильно отличаются у скрытого теста и так просто справиться с ним не выйдет. Будем следить за развитием событий.

@knowledge_accumulator



tg-me.com/knowledge_accumulator/239
Create:
Last Update:

Combining Induction and Transduction for Abstract Reasoning [2024]

В прошлом посте про ARC я расссказал про решение, которая даёт 62% в комбинации с так называемым синтезатором программ. Сегодня мы поговорим о том, что это за зверь.

Авторы рассматривают 2 подхода к решению ARC:

1) Transduction - это когда у нас есть нейросеть, получающая на вход тренировочные пары вход-выход + тестовый вход и предсказывающая тестовый выход - такую модель мы как раз и видели в тот раз.
2) Induction - получая на вход тренировочные пары вход-выход, мы генерируем программу на питоне, превращающую вход в выход. Затем мы применяем её на тестовом входе

Итак, начнём с того, как авторы собирали датасет для Induction-модели.

Сначала авторы собирают вручную так называемый seed-датасет - это 100 ARC-задач, для которых вручную написаны программы на питоне, а также текстовые описания этих задач. Далее GPT-4 просят наплодить большой датасет синтетических задач, рекомбинируя описания и код изначальных ста.

На таких данных можно делать нечто похожее на обучение задачкам по программированию: дообучаем LLM по задаче гененировать питон код, а во время инференса генерируем много программ-кандидатов, которые потом можно фильтровать, проверяя на тренировочных парах.

Интересный сюжетный поворот - задачи, которые решают Transduction и Induction-модели, даже если их учить на одних и тех же сетах задач, пересекаются далеко не полностью. В самом топовом запуске Induction набирает 38%, Transduction 43%. а их ансамбль аж 57%. Авторы проверили, что это не результат случайной инициализации.

Ансамблировать их, кстати, можно и вслепую - если Induction-модель не сгененировала ни одну программу, которая подходит под тренировочные примеры, мы в качестве решения выдаём Transduction-кандидата.

Интересно понять - откуда берётся такое отличие в решаемых задачах у 2 подходов, даже если их учат на одном и том же? Немножко пролить на это свет помогает Ablation на задачах из ConceptARC - упрощённом датасете, в котором применяется одна "абстрактная концепция".

Например, программный синтезатор сильно лучше справляется с извлечением объектов и подсчётом, тогда как трансдуктор лучше в раскрасках и чём-то подобном. Примеры задач, приведённые автором, я прикрепил к посту.

Статья интересная, правда, есть те же опасения по поводу утечки задач через эту самую синтетику. Маленькая версия их модели, которую они засабмитили в настоящий тест, дала 18% через Transduction и только 4% через Induction (ансамбль дал 19%, SOTA = 55.5%) - это может говорить о том, что базовые операции сильно отличаются у скрытого теста и так просто справиться с ним не выйдет. Будем следить за развитием событий.

@knowledge_accumulator

BY Knowledge Accumulator




Share with your friend now:
tg-me.com/knowledge_accumulator/239

View MORE
Open in Telegram


Knowledge Accumulator Telegram | DID YOU KNOW?

Date: |

Telegram today rolling out an update which brings with it several new features.The update also adds interactive emoji. When you send one of the select animated emoji in chat, you can now tap on it to initiate a full screen animation. The update also adds interactive emoji. When you send one of the select animated emoji in chat, you can now tap on it to initiate a full screen animation. This is then visible to you or anyone else who's also present in chat at the moment. The animations are also accompanied by vibrations. This is then visible to you or anyone else who's also present in chat at the moment. The animations are also accompanied by vibrations.

How to Invest in Bitcoin?

Like a stock, you can buy and hold Bitcoin as an investment. You can even now do so in special retirement accounts called Bitcoin IRAs. No matter where you choose to hold your Bitcoin, people’s philosophies on how to invest it vary: Some buy and hold long term, some buy and aim to sell after a price rally, and others bet on its price decreasing. Bitcoin’s price over time has experienced big price swings, going as low as $5,165 and as high as $28,990 in 2020 alone. “I think in some places, people might be using Bitcoin to pay for things, but the truth is that it’s an asset that looks like it’s going to be increasing in value relatively quickly for some time,” Marquez says. “So why would you sell something that’s going to be worth so much more next year than it is today? The majority of people that hold it are long-term investors.”

Knowledge Accumulator from br


Telegram Knowledge Accumulator
FROM USA